package com.yihen.mappers;

import com.yihen.dto.GoodsDTO;
import com.yihen.pojo.Goods;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface GoodsMapper {
    // 添加商品
    @Insert("insert into tb_goods values (#{goodsId},#{goodsName},#{categoryId},#{price},#{goodsContent},#{dealWay},#{userId},#{goodsImg},#{status})")
    int insertGoods(Goods goods);

    // 查询所有发布的商品
    List<GoodsDTO> queryAllGoodsByUserId(Long id);

    // 查询所有的商品
    List<GoodsDTO> queryAllGoods();

    // 删除商品
    @Delete("delete from tb_goods where goods_id=#{goodsId} and user_id=#{userId}")
    int deleteGoods(Long userId, Long goodsId);

    // 删除商品(通过UserId)
    @Delete("delete from tb_goods where  user_id=#{userId}")
    int deleteGoodsByUserId(Long userId);

    // 通过商品名称&用户id查询商品
    List<GoodsDTO> queryGoodsByNameAndUserId(String name, Long id);

    // 通过商品id&用户id查询商品
    List<GoodsDTO> queryGoodsByGoodsIdAndUserId(Long goodsId, Long userId);

    //通过商品id查询商品
    GoodsDTO queryGoodsByGoodsId(Long goodsId);

    // 通过商品名称查询商品
    List<GoodsDTO> queryGoodsByName(String name);

    // 查找需要审核的个人商品
    List<GoodsDTO> queryCheckingGoodsByUserId(Long id);

    // 通过商品id查找需要审核的个人商品
    List<GoodsDTO> queryCheckingGoodsByUserIdAndGoodsId(Long id,Long goodsId);

    // 查找所有需要审核的商品
    List<GoodsDTO> queryCheckingGoods();

    // 根据商品id查找需要审核的商品
    List<GoodsDTO> queryCheckingGoodsByGoodsId(Long goodsId);


    // 修改商品状态
    @Update("update tb_goods set status=#{status} where goods_id=#{goodsId}")
    int updateGoodsStatus(String status,Long goodsId);

}
